TCP/IP协议对Internet服务的安全威胁有哪些
TCP/IP协议对Internet服务的安全威胁有以下这些:
SYN泛洪攻击:SYN泛洪攻击发生在服务器接收到远远超出其处理能力的大量的请求时。正常情况下,主机之间使用TCP传输数据时必须通过三次握手(3-Way Handshake)来初始化连接,SYN泛洪攻击原理是阻止TCP三次握手的完成。攻击者向受攻击主机发送SYN报文请求建立连接,报文中的源地址为伪造的、路由不可达地址。受攻击主机向伪造的地址发送SYN/ACK回应请求,等待对方回应。与正常TCP连接不同的是,SYN泛洪攻击阻止了三次握手最后过程的ACK包的发送,导致服务器端口一直处于半开状态,每个TCP端口都有接收半开连接的上限值,当连接数达到这个上限值时,服务器不再接收连接请求,攻击者的目的也就达到了。
IP欺骗:IP欺骗其实很简单,攻击者所需要做的就是产生一个源地址是伪造的IP数据包。这可以使用RAW-socket原始套接字来完成受攻击主机没有办法判断该数据包是否是伪造的,因为它仅仅是根据源地址来判断除了IP欺骗外,攻击者还要结合TCP序列号预测等技术来完成攻击。
TCP序列号预测:TCP序列号预测利用TCP是基于序列号(SNO)传输数据的特性来攻击TCP会话。TCP协议使用序列号保证应用层接收数据的完整性,虽然这是一种保证数据完整的有效方法,但是它同样存在缺陷。如果攻击者能猜测到正确的序列号,那么就能发出能被受攻击主机接收的TCP伪造数据包。
TCP会话挟持:TCP会话挟持可以用于攻击基于TCP协议的应用,如Telnet、rlogin、FTP等。对于攻击者来说,要实施攻击的前提是必须获取受攻击主机和欺骗主机之间的会话,从而获得正确的TCP序列号。一旦攻击者有了正确的TCP序列号,就可以成功的接管该会话。通常,TCP会话挟持用来接管一个Telnet会话,Telnet是非常容易受挟持的协议,它在客户端和服务端传输简单的字节流。攻击者只要将他们的指令插入被挟持的TCP数据段,服务器就会把这个TCP段指令串重装并执行。
RST和FIN攻击:IP数据包有两个特殊的标志位,RST和FIN,可用于拒绝服务攻击。在正常情况下,RST标志用来重设连接,FIN标志表示没有数据要发送。攻击者分析通过目的主机和受骗主机之间的IP数据包,计算出从受骗主机发往目的主机的下一个TCP段的序列号,然后产生一个带有RST位设置的TCP段,将其放在假冒源地址的数据包中发往目标主机,目标主机收到后就关闭与受骗主机的连接。利用FIN位的攻击与RST位的攻击很相似,攻击者预测到正确的序列号后,使用它创建一个带有FIN位的TCP分段,然后发送给目的主机,好像受骗主机没有数据需要发送了,这样由受骗主机随后发出的TCP段就会因为目标主机认为是网络错误而忽略。
PingofDeath:Ping程序通过发送一个ICMP回应请求消息和接收一个响应的ICMP回应来测试主机的连通性。ICMP回应请求放在IP数据包中,其中有8bytes的ICMP头信息,然后是Ping请求的数据字节数。因此数据区所允许的最大尺寸为65535-20-8=65507bytes。分段后的IP包要在接收端的IP层进行重组,这样就可以发送一个回应请求数据包,使它的数据包中的数据超过65507bytes,使得某些系统的IP分段组装模块出现异常,导致系统崩溃或重启。